// 引入事件总线，用于跨组件通信
import eventBus from "@/utils/eventBus";

export default {
    // 注册需要监听的事件
    getEvents() {
        return {
            'node:contextmenu': 'onContextmenu', // 节点右键菜单
            'mousedown': 'onMousedown',          // 鼠标按下
            'canvas:click':'onCanvasClick'       // 画布点击
        };
    },
    // 节点右键菜单事件处理
    onContextmenu(e) {
        // 通过事件总线分发 contextmenuClick 事件，传递事件对象
        console.log('通过事件总线分发 contextmenuClick 事件，传递事件对象',e);
        
        eventBus.$emit('contextmenuClick',e)
    },
    // 鼠标按下事件处理
    onMousedown(e) {
        // 通过事件总线分发 mousedown 事件，传递事件对象
        console.log('通过事件总线分发 mousedown 事件，传递事件对象',e);
        
        eventBus.$emit('mousedown',e)
    },
    // 画布点击事件处理
    onCanvasClick(e){
        // 通过事件总线分发 canvasClick 事件，传递事件对象
        console.log('通过事件总线分发 canvasClick 事件，传递事件对象',e);
        
        eventBus.$emit('canvasClick',e)
    }

};
